看我如何黑掉 Facebook 并获奖金 $7500
编译:奇安信代码卫士团队
之前我从未在 Facebook 的子域名中发现过漏洞,查看了一些 writeup 后发现其中一个是关于子域名的。阅读了这篇出色的 writeup (https://ysamm.com/?p=280) 后,我大概明白了我可以从这个庞大的 Web 应用中能够发现多少个漏洞。
因此,我的主要目标是 https://legal.tapprd.thefacebook.com,我的目的是找到 RCE 或者类似的漏洞。我运行了一些模糊测试工具,以获得该 app 的完整观点。午休两小时并看了一部电影后,回头看发现了一些不错的结果。
找到了一个响应403的 Dirs 命令:
Dirs found with a 403 response:
/tapprd/
/tapprd/content/
/tapprd/services/
/tapprd/Content/
/tapprd/api/
/tapprd/Services/
/tapprd/temp/
/tapprd/logs/
/tapprd/logs/portal/
/tapprd/logs/api/
/tapprd/certificates/
/tapprd/logs/auth/
/tapprd/logs/Portal/
/tapprd/API/
/tapprd/webroot/
/tapprd/logs/API/
/tapprd/certificates/sso/
/tapprd/callback/
/tapprd/logs/callback/
/tapprd/Webroot/
/tapprd/certificates/dkim/
/tapprd/SERVICES/
我认为这个结果足够支持我之前关于该应用的庞大体量的理论了。之后我开始阅读该 javascript 文件,查看该网站如何工作以及所使用的方法等等。
我发现了绕过 Login SSO 重定向的方法:https://legal.tapprd.thefacebook.com/tapprd/portal/authentication/login,分析完登录页面后,我注意到如下端点:/tapprd/auth/identity/user/forgotpassword。
在用户端点上做了一些模糊测试后,我注意到了另外一个端点 /savepassword 且它意在接受一个 POST 请求。阅读 javascript 文件后我知道了该页面的工作方式,应当有一个生成的令牌和 xsrf 令牌等。此时,我想到的是,好的,我们测试下看看是否起作用。我尝试通过 Burp Suite 进行手动更改,但得到了出错信息:执行操作失败。
好吧,这是因为邮件出错了还是别的问题?那先获取管理员邮件。之后开始将随机邮件列入清单,并观察使用该入侵工具后的情况。几个小时后,我发现了相同的出错结果以及另外一个结果:302重定向至登录页面,会成功吗?所以,我所做的是使用含有 CSRF 令牌的入侵工具发送随机请求,以及发送含有端点 /savepassword 新密码的随机邮件,而其中一个结果是302重定向。
我进入登录页面后,输入登录邮件和新密码,结果成功登录到该 app,而且能够进入管理员面板!
在使用 PDF 之前我发现 Facebook 向找到 RCE 的黑客发放了1000美元的奖金。于是我决定将影响力提升并提供完美的 exploit。
我用 python写了一个快速简单的漏洞利用脚本,输入邮件和新密码后,该脚本就会修改密码。
该漏洞的影响力很大,因为 Facebook 员工习惯用工作账户登录,也就是说他们在使用自己的 Facebook 账户访问令牌,而如果有人想利用这一点,就能够访问某些Facebook 员工的账户等等。
之后我将漏洞报告提交给 Facebook 公司并得到证实。
10月2日,我获得7500美元的奖金。
该漏洞的利用过程实在太令人享受了,总感觉意犹未尽。这个脚本比较弱,我们可以深挖。
而且我还从这个 app 上又找到了两个漏洞,将在后续发布 writeup。敬请关注!
我找到一个价值5.5万美元的 Facebook OAuth账户劫持漏洞
https://alaa.blog/2020/12/how-i-hacked-facebook-part-one/
题图:Pixabay License
本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的
产品线。